/**
 * @filename main.cpp
 * @brief 一个简易的计算器
 * @author Sun Zehui <sunzehui18@outlook.com>
 * @version 1.0.0
 * @date 2021-11-20
 */
#include<iostream>
#include<fstream>
#include "calculator.h"
using namespace std;

/**
 * @brief main 主程序入口
 *
 * @param args 参数数量
 * @param argv[] 参数列表[-option] (file_name)
 *
 * @return 0
 */
int main(int args, char* argv[]){
    string a;
    ifstream file;
    string temp;

    if(args<=1 || args>=4)
    {
        cout << "输入参数数量有误！" << endl;
    }else{
        switch (argv[1][1])
        {
        case 'f':
            if(args==3)
                file.open(argv[2]);
            else
                file.open("input.txt");
            while(!file.eof()){
            getline(file, temp);
            try
                {   
                    simulate(temp);
                }
            catch(...)
                {
                    cout << "Error." << endl;
                }
            }
            break;
        case 'i':
            getline(cin, temp);
            try
            {
                simulate(temp);
            }
            catch(...)
            {
                cout << "Error." << endl;
            }
            break;
        default:
            break;
        }
    }    
    return 0;
}
